Batch Script এবং PowerShell দুটি আলাদা scripting language, তবে Batch Script-এ PowerShell কমান্ড ব্যবহার করা সম্ভব। PowerShell কমান্ডগুলো Batch Script-এ ইন্টিগ্রেট করে আপনি আরো শক্তিশালী এবং লাচ্ছন কমান্ড চালাতে পারেন, বিশেষ করে যখন PowerShell এর শক্তিশালী ফিচারগুলো যেমন, অবজেক্ট ম্যানিপুলেশন, পাইপলাইন প্রসেসিং, এবং অ্যাডভান্সড স্ক্রিপ্টিং প্রয়োজন হয়।
Batch Script-এ PowerShell কমান্ড ব্যবহার করার জন্য powershell কমান্ড ব্যবহার করা হয়। এটি PowerShell স্ক্রিপ্ট বা কমান্ড চালাতে সহায়তা করে।
powershell -Command "<PowerShell_Command>"
এখানে, <PowerShell_Command>
এর জায়গায় আপনি যে PowerShell কমান্ড বা স্ক্রিপ্ট চালাতে চান তা বসাবেন।
Batch Script থেকে PowerShell কমান্ড চালানোর সবচেয়ে সহজ উদাহরণ হল একটি সিম্পল আউটপুট প্রিন্ট করা:
@echo off
powershell -Command "Write-Output 'Hello from PowerShell!'"
pause
এই কমান্ডটি PowerShell-এ Write-Output
কমান্ড ব্যবহার করে "Hello from PowerShell!" প্রিন্ট করবে।
আউটপুট:
Hello from PowerShell!
PowerShell স্ক্রিপ্টে ভেরিয়েবল ব্যবহার করে Batch Script থেকে PowerShell কমান্ড চালানো:
@echo off
powershell -Command "$myVar='Hello from PowerShell'; Write-Output $myVar"
pause
এখানে, $myVar
ভেরিয়েবলটি PowerShell-এ ডিফাইন করা হয়েছে এবং তারপর Write-Output দিয়ে তার মান প্রিন্ট করা হয়েছে।
আউটপুট:
Hello from PowerShell
Batch Script থেকে ফাইলের ডেটা PowerShell দিয়ে পড়তে:
@echo off
powershell -Command "Get-Content 'C:\path\to\file.txt'"
pause
এটি file.txt ফাইলের কন্টেন্ট পড়বে এবং PowerShell এর মাধ্যমে কনসোলে আউটপুট হিসেবে দেখাবে।
PowerShell কমান্ডে একাধিক কমান্ড একত্রিত করার জন্য, যেমন ফাইল তৈরি এবং ফাইলের মধ্যে কিছু লেখা:
@echo off
powershell -Command "New-Item -Path 'C:\path\to\file.txt' -ItemType File; Add-Content -Path 'C:\path\to\file.txt' -Value 'This is a test file created by PowerShell'"
pause
এখানে New-Item কমান্ড দিয়ে একটি নতুন ফাইল তৈরি করা হয়েছে এবং Add-Content কমান্ড ব্যবহার করে তার মধ্যে কিছু লেখা হয়েছে।
Batch Script-এ PowerShell কমান্ডের আউটপুট ব্যবহার করতে হলে for /f লুপ ব্যবহার করতে পারেন:
@echo off
for /f "tokens=*" %%a in ('powershell -Command "(Get-Date).ToString()"') do (
echo Current Date and Time is: %%a
)
pause
এখানে, PowerShell এর Get-Date কমান্ড ব্যবহার করে বর্তমান তারিখ এবং সময় প্রাপ্ত করা হচ্ছে এবং সেটি Batch Script-এ for /f লুপের মাধ্যমে প্রিন্ট করা হচ্ছে।
আউটপুট:
Current Date and Time is: 11/29/2024 10:10:00 AM
PowerShell ব্যবহার করে Batch Script থেকে ফাইল কপি বা মুভ করা যেতে পারে:
@echo off
powershell -Command "Copy-Item 'C:\path\to\source.txt' -Destination 'C:\path\to\destination.txt'"
pause
এটি source.txt ফাইলটি destination.txt-এ কপি করবে।
Batch Script থেকে একটি PowerShell স্ক্রিপ্ট চালানোর জন্য, আপনি PowerShell স্ক্রিপ্ট ফাইলের পাথ সরবরাহ করতে পারেন।
ধরা যাক, আপনার একটি PowerShell স্ক্রিপ্ট আছে script.ps1 নামের, Batch Script থেকে এটি চালানোর জন্য:
@echo off
powershell -ExecutionPolicy Bypass -File "C:\path\to\script.ps1"
pause
এখানে -ExecutionPolicy Bypass অপশনটি PowerShell স্ক্রিপ্টের জন্য Execution Policy কনফিগার করে দেয় যাতে স্ক্রিপ্ট চালানো যায়।
Batch Script-এ PowerShell কমান্ড ইন্টিগ্রেশন আপনাকে শক্তিশালী স্ক্রিপ্টিং ক্ষমতা প্রদান করে, যা সাধারণ Batch Script-এর সীমাবদ্ধতাগুলিকে অতিক্রম করে। PowerShell-এ উচ্চতর ক্ষমতা থাকা সত্ত্বেও, Batch Script থেকে সরাসরি PowerShell কমান্ড চালানোর মাধ্যমে আপনি প্রক্রিয়াগুলিকে আরও কার্যকর ও সুবিধাজনকভাবে বাস্তবায়ন করতে পারেন।
common.read_more